/* 
 * Copyright 2011-2012 Andrew Brock
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 * 
 * http://www.apache.org/licenses/LICENSE-2.0
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package org.catchwa.myvideobrowser.model;

import java.io.File;

/**
 *
 * @author Andrew Brock
 */
public class Movie {

  private String title;
  private String released;
  private File file;
  private String overview;
  private float tmdbRating;
  private int runtime;
  private String posterUrl;
  private AlternateMatch[] alternateMatches;
  private boolean watched;

  public Movie(File path, String title, String released, String overview, float tmdbRating, int runtime, boolean watched, String posterUrl, AlternateMatch[] alternateMatches) {
    this.file = path;
    this.title = title;
    if (released == null) {
      this.released = "?";
    } else {
      this.released = released;
    }
    this.overview = overview;
    this.tmdbRating = tmdbRating;
    this.runtime = runtime;
    this.watched = watched;
    this.posterUrl = posterUrl;
    this.alternateMatches = alternateMatches;
  }

  public File getFile() {
    return file;
  }

  public String getTitle() {
    return title;
  }

  public String getReleased() {
    return released;
  }

  public String getReleasedYear() {
    int index = released.indexOf("-");
    if (index < 0) {
      return released;
    } else {
      return released.substring(0, index);
    }
  }

  public String getOverview() {
    return overview;
  }

  public float getTmdbRating() {
    return tmdbRating;
  }

  public int getRuntime() {
    return runtime;
  }
  
  public boolean getWatched() {
    return watched;
  }

  public void setWatched(boolean watched) {
    this.watched = watched;
  }
  
  public String getPosterUrl() {
    return posterUrl;
  }

  public AlternateMatch[] getAlternateMatches() {
    return alternateMatches;
  }
}
